Java Jr: Fully Abstract Trace Semantics for a Core Java Language
نویسندگان
چکیده
We introduce an expressive yet semantically clean core Java-like language, Java Jr., and provide it with a formal operational semantics based on traces of observable actions which represent interaction across package boundaries. A detailed example based on the Observer Pattern is used to demonstrate the intuitive character of the semantic model. We also show that our semantic trace equivalence is fully-abstract with respect to a natural notion of testing equivalence for object systems. This is the first such result for a full class-based OO-language with inheritance.
منابع مشابه
Full Abstraction at Package Boundaries of Object-Oriented Languages
We develop a fully abstract trace-based semantics for sets of classes in object-oriented languages, in particular for Java-like sealed packages. Our approach enhances a standard operational semantics such that the change of control between the package and the client context is made explicit in terms of interaction labels. By using traces over these labels, we abstract from the data representati...
متن کاملFocused Static Analyses for the Java Bytecode
Flow sensitive static analyses are often more precise than their flow insensitive counterparts, but much more expensive. To cope with this problem, we defined, some years ago, a watchpoint semantics as an abstract interpretation of a trace semantics. It is not itself a trace semantics, but it lets us specify flow and control sensitive analyses which are focused on a given set of program points ...
متن کاملA Type-based Trace Analysis for Java
The intersection type discipline (ITD) is a well established one in the field of the Lambda Calculus (LC) and the functional programming paradigm. It has also been extended to Term Rewriting Systems (TRS) and more recently to object calculi and sequent calculi. We continue this trend by applying the techniques of ITD to the analysis of the (class based) object-oriented (OO) programming paradigm...
متن کاملImplementing a Serializer Using a Java XML Schema API
W3C XML (Extensible Markup Language) Schema defines a set of abstract components, which carry the core semantics of document structure definition. There has been no standard API for accessing these components or their structures yet. The MARKUP Technology Company has specified a Java API for accessing XML Schema and submitted it to the W3C as a possible basis for standard Schema API. An overvie...
متن کاملOn state classes and their dynamic semantics
We introduce state classes, a construct to program objects that can be safely concurrently accessed. State classes model the notion of object’s state (intended as some abstraction over the value of fields) that plays a key role in concurrent object-oriented programming (as the state of an object changes, so does its coordination behavior). We show how state classes can be added to Java-like lan...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005